﻿#pragma once
#include <QGridLayout>
#include <QLabel>
#include <QFrame>

//视频组件
class GridManager;
class VideoWidget : public QFrame
{
  Q_OBJECT
 public:
  /**构造函数
   * @param gridMgr 网格管理器
  */
  explicit VideoWidget(GridManager* gridMgr);
  /**是否有视频
   * @return true 有视频 false 无视频
  */
  bool hasVideo() const{
    return _hasVideo;
  };
  //显示窗口
  void showWindow(bool show);
    /**恢复状态
    */
  void reset();
    /**设置peerId
     * @param peerId peerId
    */  
  void setPeerId(std::string peerId);
    /**设置是否有视频
     * @param hasVideo true 有视频 false 无视频
    */
  void setHasVideo(bool hasVideo);
 protected:
    /**鼠标双击事件
     * @param event 事件
    */
  void mouseDoubleClickEvent(QMouseEvent *event) override;
 private:
  bool _hasVideo;//是否有视频
  QLabel *_label;//标签
  std::string _peerId;//peerId
  //是否最大化
  bool _isFullScreen{false};
  QGridLayout *_gridLayout{nullptr};
  GridManager* _gridManager{nullptr};
};
